﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using ESRI.ArcGIS.Client;    

namespace Bocom.ICenter.UI.Silverlight.Models
{
    #if SILVERLIGHT
        using Bocom.ICenter.UI.Silverlight.Models;
    #endif


    /// <summary>
    /// 车辆实体类
    /// </summary>
    public class ClassBusEntity
    {
        private long _ubiRouteId;
        /// <summary>
        /// 线路流水号  索引ID  如 5
        /// </summary>
        public long ubiRouteId
        {
            get { return _ubiRouteId; }
            set { _ubiRouteId = value; }
        }

        private string _routeID;
        /// <summary>
        /// 车辆所在的线路
        /// </summary>
        public string RouteID
        {
            get
            {
                return this._routeID;
            }
            set
            {
                this._routeID = value;
            }
        }

     

        private string _routeName;
        /// <summary>
        /// 车辆所在的线路名称
        /// </summary>
        public string RouteName
        {
            get
            {
                return this._routeName;
            }
            set
            {
                this._routeName = value;
            }
        }



        private long _ubiBusId;
        /// <summary>
        /// 车辆流水号  索引ID  如 5
        /// </summary>
        public long ubiBusId
        {
            get { return _ubiBusId; }
            set { _ubiBusId = value; }
        }
        
        private string _insideCode;
        /// <summary>
        /// 车辆内部编号
        /// </summary>
        public string InsideCode
        {
            get
            {
                return this._insideCode;
            }
            set
            {
                this._insideCode = value;
            }
        }


        private string _licensePlate;
        /// <summary>
        /// 车牌号码
        /// </summary>
        public string LicensePlate
        {
            get
            {
                return this._licensePlate;
            }
            set
            {
                this._licensePlate = value;
            }
        }


        private int _sIndex;
        /// <summary>
        /// 当前站序
        /// </summary>
        public int Sindex
        {
            get
            {
                return this._sIndex;
            }
            set
            {
                this._sIndex = value;
            }
        }


        private double stationlength = 0;
        /// <summary>
        /// 当前站序 距离上一站的站间距离
        /// 用于示意图判断车辆是否重叠  
        /// </summary>       
        public double StationLength
        { 
           get 
            {
                return stationlength;
            }
            set
            {
                stationlength = value;
            }         

        }


        private double nextstationlength = 0;
        /// <summary>
        /// 下一个站序 距离上一站的站间距离    Sindex + 1
        /// 用于示意图判断车辆是否重叠 
        /// </summary>       
        public double NextStationLength
        {
            get
            {
                return nextstationlength;
            }
            set
            {
                nextstationlength = value;
            }

        }


        /// <summary>
        /// 车辆状态
        /// </summary>
        private BusStatusEntity _busStatus = BusStatusEntity.BsNull;
        /// <summary>
        /// 车辆状态
        /// </summary>
        public BusStatusEntity BusStatus
        {
            get
            {
                return _busStatus;

            }
            set
            {
                //改变当前车辆的属性
                _busStatus = value;

            }
        }


        /// <summary>
        /// 车辆坐标
        /// </summary>
        private Point _BusPoint;

        /// <summary>
        /// 车辆GPS坐标 
        /// </summary>
        public Point BusPoint
        {
            get
            {
                return _BusPoint;
            }
            set
            {
                _BusPoint = value;

            }
        }


        /// <summary>
        /// 车辆坐标
        /// </summary>
        private Point _diagramBusPoint;
        /// <summary>
        /// 车辆示意图坐标 
        /// </summary>
        public Point DiagramBusPoint
        {
            get
            {
                return _diagramBusPoint;
            }
            set
            {
                _diagramBusPoint = value;

            }
        }


        private string _tipInfo;
        /// <summary>
        /// 示意图上的提示信息
        /// </summary>
        public string TipInfo
        {
            get
            {
                return this._tipInfo;
            }
            set
            {
                this._tipInfo = value;
            }
        }


        private bool _isselect;
        /// <summary>
        /// 示意图上的提示信息
        /// </summary>
        public bool Isselect
        {
            get
            {
                return this._isselect;
            }
            set
            {
                this._isselect = value;
            }
        }


        private double _sdistance;
        /// <summary>
        ///离开上一站的距离
        /// </summary>
        public double SDistance
        {
            get
            {
                return this._sdistance;
            }
            set
            {
                this._sdistance = value;
            }
        }


        //车图元对象

        /// <summary>
        /// 车图元对象   地图监控里使用
        /// </summary>
        private Graphic _Busgraphic = null;
        /// <summary>
        /// 车图元对象   地图监控中使用
        /// </summary>
        public Graphic Busgraphic
        {
            get { return _Busgraphic; }
            set { _Busgraphic = value; }
        }


        private string _maptipInfo;
        /// <summary>
        /// 地图监控上的提示信息
        /// </summary>
        public string MapTipInfo
        {
            get
            {
                return this._maptipInfo;
            }
            set
            {
                this._maptipInfo = value;
            }
        }

        private string _exceptionDescription = string.Empty;
        /// <summary>
        /// 异常描述
        /// </summary>
        public string ExceptionDescription
        {
            get
            {
                return this._exceptionDescription;
            }
            set
            {
                if(value != null)
                    this._exceptionDescription = value;
            }
        }

        private string _statusDescription;
        /// <summary>
        /// 状态描述
        /// </summary>
        public string StatusDescription
        {
            get
            {
                return _statusDescription;
            }
            set
            {
                _statusDescription = value;
            }
        }


        private string _direction;
        /// <summary>
        /// 方向
        /// </summary>
        public string Direction
        {
            get
            {
                return _direction;
            }
            set
            {
                _direction = value;
            }
        }

        private string _posDescription;
        /// <summary>
        /// Pos位置描述
        /// </summary>
        public string PosDescription
        {
            get
            {
                return _posDescription;
            }
            set
            {
                _posDescription = value;
            }
        }


        private float _speed;
        /// <summary>
        /// 速度
        /// </summary>
        public float Speed
        {
            get
            {
                return _speed;
            }
            set
            {
                _speed = value;
            }
        }

        private int _gpsOrientation;
        /// <summary>
        /// Gps方位角
        /// </summary>
        public int GpsOrientation
        {
            get
            {
                return _gpsOrientation;
            }
            set
            {
                _gpsOrientation = value;
            }
        }

        private int _posStationFreeCardNum;
        /// <summary>
        /// 本站免费刷卡人数
        /// </summary>
        public int PosStationFreeCardNum
        {
            get
            {
                return _posStationFreeCardNum;
            }
            set
            {
                _posStationFreeCardNum = value;
            }
        }

        private int _posStationNormalCardNum;
        /// <summary>
        /// 本站普通卡刷卡人数
        /// </summary>
        public int PosStationNormalCardNum
        {
            get
            {
                return _posStationNormalCardNum;
            }
            set
            {
                _posStationNormalCardNum = value;
            }
        }

        private int _totalStationFreeCardNum;
        /// <summary>
        /// 自上电起免费卡刷卡人数
        /// </summary>
        public int TotalStationFreeCardNum
        {
            get
            {
                return _totalStationFreeCardNum;
            }
            set
            {
                _totalStationFreeCardNum = value;
            }
        }

        private int _totalStationNormalCardNum;
        /// <summary>
        /// 自上电起普通卡刷卡人数
        /// </summary>
        public int TotalStationNormalCardNum
        {
            get
            {
                return _totalStationNormalCardNum;
            }
            set
            {
                _totalStationNormalCardNum = value;
            }
        }



     

   
    }
}
